# global variables defined

# which model is used for training, if model_type_index = 0, then the model used for training
# is vision transformer, if model_type_index =1, cnn will be used for training.
model_type_index = 1

# what kind of dataset will be used for training. If this was set as 'normal', the noisy dataset will be pass to model.
# If this was 'perfect', the noise-free dataset will be passed to model.
dataset_kind = 'normal'

# variables about dataset related processing
training_dataset_length = 60000
test_dataset_length = 10000
size_of_batch = 64
normalization = False

# This is the configuration of model compile parameters:
optimizer_initial_lr = 0.01
weight_decay = 0.0001
loss_values = 'mae'
metrics_values = 'mae'

# Variables about model configuration:
image_size = 16*10
patch_size = 10
num_patches = (image_size//patch_size)**2
projection_dim = 64
num_heads = 1
transformer_hidden_units = projection_dim*2
transformer_layers = 1
mlp_head_units = [2048, 1024]
dropout = 0.2                                  # This parameter is also for CNN, not only for vision transformer
emb_dropout = 0.2
